com.sabro.jbusiness.sys
Class SysEscopoFormatado

java.lang.Object
  extended by com.sabro.jbusiness.sys.SysEscopo
      extended by com.sabro.jbusiness.sys.SysEscopoFormatado
All Implemented Interfaces:
ISelectable, SysDetalhe.SysDetalheListener, java.io.Externalizable, java.io.Serializable, java.util.EventListener

public class SysEscopoFormatado
extends SysEscopo
implements java.io.Externalizable, SysDetalhe.SysDetalheListener

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.sabro.jbusiness.sys.SysEscopo
SysEscopo.SysEscopoEvent, SysEscopo.SysEscopoEventType, SysEscopo.SysEscopoListener
 
Constructor Summary
SysEscopoFormatado()
           
SysEscopoFormatado(int sysTabelaId)
           
SysEscopoFormatado(int cfopId, java.lang.String nome)
          Cria nova instancia de SysTabelas.
SysEscopoFormatado(int cfopId, java.lang.String sysTabelaNome, java.lang.String where)
          Deprecated. 
SysEscopoFormatado(java.lang.String nomeTabela)
          Cria novo escopo de maneira simplificada.
SysEscopoFormatado(SysConexao sysConexao, int sysTabelaId)
           
SysEscopoFormatado(SysConexao sysConexao, int cfopId, java.lang.String sysTabelaNome, java.lang.String where)
           
SysEscopoFormatado(SysConexao sysConexao, SysTabela.SysLigacao sysLigacao, SysEscopo sysEscopoRemoto, java.lang.String where)
           
SysEscopoFormatado(SysTabela.SysLigacao sysLigacao, SysEscopo sysEscopoRemoto, java.lang.String where)
          Abre um escopo vinculado a outra tabela com uma ligação de um para muitos.
SysEscopoFormatado(SysTabelaFormatada sysTabela)
           
SysEscopoFormatado(SysTabelaFormatada sysTabela, java.lang.String where, java.lang.String orderBy)
           
 
Method Summary
 void abreLigacao(java.awt.Component parentComponent)
           
 SysRegistro addSysRegistro(int id)
           
 void addSysRegistros(SysRegistro sysRegistroPai)
          Adiciona registros ao escopo da tabela com base nas informações padrões do objeto, isto é, os campos padrões, a clausula from padrão, a condição padrao e a ordenação padrão
 SysVinculo addSysVinculo(SysEscopo sysEscopoRemoto, java.lang.String campoRemoto, java.lang.String campoLocal)
          Cria um vinculo entre duas tabelas.
 void avancaProcesso()
          Avança o processo para a próxima fase do workflow.
 boolean canLeaveFromSysRegistro()
          Retorna falso se o registro selecionado estiver carregado, alterado ou existir algum campo que ainda não tenha sido salvo.
 void carregaProcesso()
          Carrega o processo focado pela grade de navegação da tabela processos nas tabelas temporárias xxxClc.
 void descarregaProcesso()
          Descarrega o processo focado pela grade de navegação da tabela processos das tabelas temporárias xxxClc.
 boolean excluiSysRegistros(SysRegistro[] sysRegistros)
          Exclui os registros relacionados do banco de dados e do escopo.
 void filtrarRegistros()
          Apresenta o formulário de filtragem para que o operador crie ou altere o filtro
 void fireSysEscopoChangedAll(SysEscopo.SysEscopoEvent sysEscopoEvent)
          Anuncia evento de alteração para todos os escopos do processo identificado.
 void fireSysEscopoChangedFilhos(SysEscopo.SysEscopoEvent sysEscopoEvent)
          Anuncia evento de alteração para todos os escopos filhos do escopo identificado.
 int getCfopId()
          Obtém o código do tipo de processo que está selecionado na grade de navegação.
 java.lang.String getCondicao()
           
 java.lang.String getExtensao()
          Obtém a extensão que compõe o nome de diversos objetos do banco de dados.
 java.lang.String getFrom()
          Obtém a clausula From mais adequada para obtenção dos campos do registro atual.
 java.lang.String getFrom(SysTabelaFormatada sysTabela, boolean isCarregado)
          Obtém a cláusula From mais adequada para obtenção dos campos do registro atual.
 java.lang.String getFrom(SysTabelaFormatada sysTabela, SysRegistro sysRegistro)
           
 ISelectable[] getISelectableComponents()
           
 ISelectable getISelectableParent()
          Este método fornece a relação de filhos selecionáveis e/ou selecionados.
 javax.swing.JPopupMenu getJPopupMenuAnexos()
           
 java.lang.String getNomeComposto()
          Obtém o nome da tabela para ser usado em cláusulas from do SQL.
 java.lang.String getSelect()
           
 java.lang.String getSelect(SysTabelaFormatada sysTabela, boolean isCarregado)
           
 SysConexao getSysConexao()
           
 SysDetalheFormatado getSysDetalhe()
           
 SysEscopoFormatado getSysEscopoDescendente(SysTabelaFormatada sysTabela)
          Escolhe entre os sysEscoposDescendentes, aquele que pertence a tabela informada.
 java.util.Set<SysEscopoFormatado> getSysEscopoFilhos()
          Obtém os escopos que são filhos deste escopo
 SysEscopoFormatado getSysEscopoPai()
          Obtém o escopo pai
 SysEscopoFormatado getSysEscopoRaiz()
          Obtém a escopo raiz do processo
 java.util.ArrayList<SysEscopoFormatado> getSysEscoposDescendentes()
          Fornece uma lista ArrayList contendo o sysEscopoFormatado corrente seguido por todos os seus descendentes de qualquer grau.
 SysFiltro getSysFiltro()
           
 SysRegistro getSysRegistroPai()
           
 java.util.ArrayList<SysRegistro> getSysRegistroPath()
          Fornece uma lista ArrayList contendo o SysRegistro corrente seguido por todos os seus descendentes de qualquer grau.
 SysRegistro getSysRegistroRaiz()
           
 SysTabelaFormatada getSysTabela()
          Obtém o objeto SysTabela do registro selecionado
 SysTabelaFormatada getSysTabela(java.lang.String sysTabelaNome, int cfopId, SysRegistro sysRegistro)
          Obtém o objeto SysTabela do registro informado.
 int getSysTabelaId()
          Obtém o código da tabela de acordo com a tabela de formatação CFOPsTabelas.
 java.lang.String getSysTabelaNome()
          Obtém o nome da tabela que serve como base para o escopo.
 int insereRegistro(int cfopId)
          Insere um novo registro à tabela
 int insereRegistro(int cfopId, boolean copy)
          Insere um novo registro à tabela retornando seu código
 int insereRegistro(int cfopId, SysRegistro sysRegistroCopiar)
           
 void invalidaSysRegistrosAll()
           
 void invalidaSysRegistrosFilhos()
           
 boolean isAlterado()
          Informa se o processo foi alterado
 boolean isAlterado(SysRegistro sysRegistro)
          Informa se o processo foi alterado
 boolean isCarregado()
          Informa se o processo está carregado
 boolean isCarregado(SysRegistro sysRegistro)
          Informa se o processo está carregado
 boolean isEscopoProcesso()
           
 boolean isRaizProcesso()
           
 void readExternal(java.io.ObjectInput in)
           
 boolean recalculaSysRegistroSelecionado()
           
static void reInitTabelas(int sysTabelaId)
           
static void reInitTabelas(java.lang.Integer[] sysTabelaIds)
           
static void reInitTabelas(java.util.Set<java.lang.Integer> sysTabelaIds)
           
static void reInitTabelas(SysTabelaFormatada sysTabela)
           
 void revalidaSysRegistros()
          Recria as variáveis sysRegistros e sysRegistroByCode.
 void salvaProcesso()
          Salva as informações alteradas nas tabelas xxxClc do processo focado para suas tabelas definitivas em banco de dados.
 void setCondicao(java.lang.String condicao)
          Define a condição de filtragem dos registros do objeto do banco de dados de onde as informações estao sendo extraídas.
 void setSysFiltro(SysFiltro sysFiltro)
          Define o parâmetro "sysFiltro" do objeto.
 void sysDetalheChanged(SysDetalhe.SysDetalheEvent sysDetalheEvent)
           
 boolean updateSysRegistro(SysRegistro sysRegistro)
          Atualiza os valores do registro selecionado no grid
 void wasRequestClose(ISelectable iSelectable)
          Este método é chamado pelo SelectionManeger para avisar que algum objeto ISelectable está sendo fechado mas para isso precisa que seus objetos filhos também sejam fechados.
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class com.sabro.jbusiness.sys.SysEscopo
addSysEscopoListener, addSysRegistro, addSysRegistro, canClose, confirmaExclusao, excluiSysRegistro, excluiSysRegistro, excluiSysRegistro, excluiSysRegistros, excluiSysRegistros, excluiSysRegistros, fireSysEscopoChanged, getClasse, getCol, getColColor, getColOrdenada, getColWidth, getFromAdicional, getId, getIDCol, getMetaColunas, getNomeCol, getNomeSingular, getNomeVariavel, getObjectAtRowCol, getOrdenacao, getPriKey, getReferencia, getSysEscopo, getSysEscopoId, getSysRegistro, getSysRegistro, getSysRegistroAtRow, getSysRegistroByCode, getSysRegistroID, getSysRegistroRow, getSysRegistroRow, getSysRegistros, getSysTabelaAlias, getTitulo, getValorPadrao, getWhere, getWhereCondicao, insereRegistro, insereRegistro, invalidaSysRegistros, invalidaValoresGrade, move, moveAposSelecionado, nextSysRegistro, prevSysRegistro, readExternalAll, removeSysEscopoListener, removeSysRegistro, removeSysRegistro, removeSysRegistroAtRow, removeSysRegistroFromSysEscopo, removeSysRegistros, salvaOrdenacao, salvaOrdenacao, selectSysRegistro, selectSysRegistroId, selectSysRegistroRow, setFromAdicional, setISelectableParent, setOrdenacao, setSelect, sort, sortAsc, sortDesc, toString, updateSysRegistroSelecionado, wasSelected, wasUnSelected, writeExternalAll
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SysEscopoFormatado

public SysEscopoFormatado()

SysEscopoFormatado

public SysEscopoFormatado(int sysTabelaId)

SysEscopoFormatado

public SysEscopoFormatado(SysConexao sysConexao,
                          int sysTabelaId)

SysEscopoFormatado

public SysEscopoFormatado(SysTabelaFormatada sysTabela)

SysEscopoFormatado

public SysEscopoFormatado(SysTabelaFormatada sysTabela,
                          java.lang.String where,
                          java.lang.String orderBy)

SysEscopoFormatado

public SysEscopoFormatado(java.lang.String nomeTabela)
Cria novo escopo de maneira simplificada. Basta passar o nome da tabela. O nome deve constar no banco de dados. Usa a conexão padrão

Parameters:
nomeTabela - Nome técnico da tabela. Usado para identificar a tabela formatada.

SysEscopoFormatado

public SysEscopoFormatado(SysTabela.SysLigacao sysLigacao,
                          SysEscopo sysEscopoRemoto,
                          java.lang.String where)
Abre um escopo vinculado a outra tabela com uma ligação de um para muitos.

Parameters:
sysLigacao -
sysEscopoRemoto -

SysEscopoFormatado

public SysEscopoFormatado(SysConexao sysConexao,
                          SysTabela.SysLigacao sysLigacao,
                          SysEscopo sysEscopoRemoto,
                          java.lang.String where)

SysEscopoFormatado

public SysEscopoFormatado(int cfopId,
                          java.lang.String nome)
Cria nova instancia de SysTabelas. Este formato normalmente é usado quando as informações da tabela (ID, Nome e Alias) já estão disponíveis tornando dispensável o acesso ao banco de dados para obtenção das informações. Também deve ser usado em caso de tabela não formatada. Usa conexão padrão

Parameters:
cfopId - Código do tipo de processo. Use 0 para tabelas de cadastro.
nome - Nome técnico da tabela. Usado para identificar a tabela formatada.

SysEscopoFormatado

@Deprecated
public SysEscopoFormatado(int cfopId,
                                     java.lang.String sysTabelaNome,
                                     java.lang.String where)
Deprecated. 

Cria nova instancia de SysTabelas. Este formato normalmente é usado quando as informações da tabela (ID, Nome e Alias) já estão disponíveis tornando dispensável o acesso ao banco de dados para obtenção das informações. Também deve ser usado em caso de tabela não formatada. Usa conexão padrão

Parameters:
cfopId - Código do tipo de processo. Use 0 para tabelas de cadastro.
sysTabelaNome - Nome técnico da tabela. Usado para identificar a tabela formatada.
where - Condição inicial da busca de registros

SysEscopoFormatado

public SysEscopoFormatado(SysConexao sysConexao,
                          int cfopId,
                          java.lang.String sysTabelaNome,
                          java.lang.String where)
Method Detail

reInitTabelas

public static void reInitTabelas(java.util.Set<java.lang.Integer> sysTabelaIds)

reInitTabelas

public static void reInitTabelas(java.lang.Integer[] sysTabelaIds)

reInitTabelas

public static void reInitTabelas(int sysTabelaId)

reInitTabelas

public static void reInitTabelas(SysTabelaFormatada sysTabela)

sysDetalheChanged

public void sysDetalheChanged(SysDetalhe.SysDetalheEvent sysDetalheEvent)
Specified by:
sysDetalheChanged in interface SysDetalhe.SysDetalheListener

getSysEscopoPai

public SysEscopoFormatado getSysEscopoPai()
Obtém o escopo pai


getSysEscopoFilhos

public java.util.Set<SysEscopoFormatado> getSysEscopoFilhos()
Obtém os escopos que são filhos deste escopo


getSysEscopoRaiz

public SysEscopoFormatado getSysEscopoRaiz()
Obtém a escopo raiz do processo


getSysEscoposDescendentes

public java.util.ArrayList<SysEscopoFormatado> getSysEscoposDescendentes()
Fornece uma lista ArrayList contendo o sysEscopoFormatado corrente seguido por todos os seus descendentes de qualquer grau.

Returns:

getSysRegistroPath

public java.util.ArrayList<SysRegistro> getSysRegistroPath()
Fornece uma lista ArrayList contendo o SysRegistro corrente seguido por todos os seus descendentes de qualquer grau.

Returns:

getSysEscopoDescendente

public SysEscopoFormatado getSysEscopoDescendente(SysTabelaFormatada sysTabela)
Escolhe entre os sysEscoposDescendentes, aquele que pertence a tabela informada.

Parameters:
sysTabela -
Returns:

getSysTabelaNome

public java.lang.String getSysTabelaNome()
Obtém o nome da tabela que serve como base para o escopo. Podem ocorrer nomes de tabela repetidos dentro do banco de dados mas apenas quando as tabelas pertencerem a um tipo de processo diferente.

Overrides:
getSysTabelaNome in class SysEscopo

getSysTabelaId

public int getSysTabelaId()
Obtém o código da tabela de acordo com a tabela de formatação CFOPsTabelas. Este código é sempre único.

Returns:

getSysTabela

public SysTabelaFormatada getSysTabela()
Obtém o objeto SysTabela do registro selecionado

Overrides:
getSysTabela in class SysEscopo

getSysTabela

public SysTabelaFormatada getSysTabela(java.lang.String sysTabelaNome,
                                       int cfopId,
                                       SysRegistro sysRegistro)
Obtém o objeto SysTabela do registro informado. Um mesmo sysEscopo pode estar vinculado a várias tabelas diferentes. É o caso de um escopo que englobe vários tipos de processo diferentes.


getSysConexao

public SysConexao getSysConexao()
Overrides:
getSysConexao in class SysEscopo

getSysDetalhe

public SysDetalheFormatado getSysDetalhe()

getExtensao

public java.lang.String getExtensao()
Obtém a extensão que compõe o nome de diversos objetos do banco de dados. No caso de listagem de processos, a extensão depende do ID focado na grade de navegação. Se a tabela não pertence a nenhum tipo de processo a extensao é devolvida vazia.


getCfopId

public int getCfopId()
Obtém o código do tipo de processo que está selecionado na grade de navegação.


revalidaSysRegistros

public void revalidaSysRegistros()
Description copied from class: SysEscopo
Recria as variáveis sysRegistros e sysRegistroByCode. Acessa o banco de dados e preenche as variáveis com os seus valores correspondentes.

Overrides:
revalidaSysRegistros in class SysEscopo

invalidaSysRegistrosAll

public void invalidaSysRegistrosAll()

invalidaSysRegistrosFilhos

public void invalidaSysRegistrosFilhos()

isCarregado

public boolean isCarregado()
Informa se o processo está carregado


isCarregado

public boolean isCarregado(SysRegistro sysRegistro)
Informa se o processo está carregado


isAlterado

public boolean isAlterado()
Informa se o processo foi alterado


isAlterado

public boolean isAlterado(SysRegistro sysRegistro)
Informa se o processo foi alterado


canLeaveFromSysRegistro

public boolean canLeaveFromSysRegistro()
Retorna falso se o registro selecionado estiver carregado, alterado ou existir algum campo que ainda não tenha sido salvo.

Overrides:
canLeaveFromSysRegistro in class SysEscopo
Returns:

isRaizProcesso

public boolean isRaizProcesso()

isEscopoProcesso

public boolean isEscopoProcesso()

getNomeComposto

public java.lang.String getNomeComposto()
Obtém o nome da tabela para ser usado em cláusulas from do SQL. Válido para o registro corrente.


filtrarRegistros

public void filtrarRegistros()
Apresenta o formulário de filtragem para que o operador crie ou altere o filtro

Parameters:
window -

getSysFiltro

public SysFiltro getSysFiltro()

setSysFiltro

public void setSysFiltro(SysFiltro sysFiltro)
Define o parâmetro "sysFiltro" do objeto. Apaga qualquer possível valor do parâmetro "where" para evitar conflitos.


setCondicao

public void setCondicao(java.lang.String condicao)
Define a condição de filtragem dos registros do objeto do banco de dados de onde as informações estao sendo extraídas. Se o parametro vier vazio, será aberto um filtro para que o usuário possa definir o filtro. Se o parâmetro vier com um "*" (asterisco), será inserido um novo registro e o registro será selecionado pela condição de filtragem. Se o parâmetro vier com um "=" (sinal de igual), serão selecionados registros que cumprem o escopo padrão definido para a tabela.

Overrides:
setCondicao in class SysEscopo

excluiSysRegistros

public boolean excluiSysRegistros(SysRegistro[] sysRegistros)
Exclui os registros relacionados do banco de dados e do escopo. Dispara o evento que informa que houve remoção de registros.

Overrides:
excluiSysRegistros in class SysEscopo

addSysRegistro

public SysRegistro addSysRegistro(int id)

addSysRegistros

public void addSysRegistros(SysRegistro sysRegistroPai)
Adiciona registros ao escopo da tabela com base nas informações padrões do objeto, isto é, os campos padrões, a clausula from padrão, a condição padrao e a ordenação padrão

Overrides:
addSysRegistros in class SysEscopo

updateSysRegistro

public boolean updateSysRegistro(SysRegistro sysRegistro)
Atualiza os valores do registro selecionado no grid

Overrides:
updateSysRegistro in class SysEscopo

getSelect

public java.lang.String getSelect()
Overrides:
getSelect in class SysEscopo

getSelect

public java.lang.String getSelect(SysTabelaFormatada sysTabela,
                                  boolean isCarregado)

getFrom

public java.lang.String getFrom()
Obtém a clausula From mais adequada para obtenção dos campos do registro atual.

Overrides:
getFrom in class SysEscopo

getFrom

public java.lang.String getFrom(SysTabelaFormatada sysTabela,
                                SysRegistro sysRegistro)

getFrom

public java.lang.String getFrom(SysTabelaFormatada sysTabela,
                                boolean isCarregado)
Obtém a cláusula From mais adequada para obtenção dos campos do registro atual. Se existir valor no campo fromAdicional, ele será considerado na montagem da cláusula. O texto com o padrão <> será substituido pela extensão de acordo com o tipo de processo. O texto com o padrão <> será substituido por "Clc" ou vazio de acordo com a situação de carregamento do processo.


getCondicao

public java.lang.String getCondicao()
Overrides:
getCondicao in class SysEscopo

addSysVinculo

public SysVinculo addSysVinculo(SysEscopo sysEscopoRemoto,
                                java.lang.String campoRemoto,
                                java.lang.String campoLocal)
Cria um vinculo entre duas tabelas. A tabela onde o vinculo é criado deve obedecer aos valores que forem alterados na tabela remota.

Parameters:
sysEscopoRemoto - Escopo que comanda o vinculo
campoRemoto - Campo que define o valor que deve ser obedecido pelo campo local
campoLocal - Campo que deve obedecer o valor do campo remoto
Returns:

getSysRegistroRaiz

public SysRegistro getSysRegistroRaiz()

getSysRegistroPai

public SysRegistro getSysRegistroPai()

carregaProcesso

public void carregaProcesso()
Carrega o processo focado pela grade de navegação da tabela processos nas tabelas temporárias xxxClc.


descarregaProcesso

public void descarregaProcesso()
Descarrega o processo focado pela grade de navegação da tabela processos das tabelas temporárias xxxClc.


salvaProcesso

public void salvaProcesso()
Salva as informações alteradas nas tabelas xxxClc do processo focado para suas tabelas definitivas em banco de dados.


avancaProcesso

public void avancaProcesso()
Avança o processo para a próxima fase do workflow.


insereRegistro

public int insereRegistro(int cfopId)
Insere um novo registro à tabela


insereRegistro

public int insereRegistro(int cfopId,
                          boolean copy)
Insere um novo registro à tabela retornando seu código


insereRegistro

public int insereRegistro(int cfopId,
                          SysRegistro sysRegistroCopiar)

recalculaSysRegistroSelecionado

public boolean recalculaSysRegistroSelecionado()

abreLigacao

public void abreLigacao(java.awt.Component parentComponent)

getJPopupMenuAnexos

public javax.swing.JPopupMenu getJPopupMenuAnexos()

fireSysEscopoChangedAll

public void fireSysEscopoChangedAll(SysEscopo.SysEscopoEvent sysEscopoEvent)
Anuncia evento de alteração para todos os escopos do processo identificado. O evento são enviados na ordem top-down.

Parameters:
sysEscopoEvent -

fireSysEscopoChangedFilhos

public void fireSysEscopoChangedFilhos(SysEscopo.SysEscopoEvent sysEscopoEvent)
Anuncia evento de alteração para todos os escopos filhos do escopo identificado.

Parameters:
sysEscopoEvent -

getISelectableComponents

public ISelectable[] getISelectableComponents()
Specified by:
getISelectableComponents in interface ISelectable
Overrides:
getISelectableComponents in class SysEscopo

getISelectableParent

public ISelectable getISelectableParent()
Description copied from interface: ISelectable
Este método fornece a relação de filhos selecionáveis e/ou selecionados.

Specified by:
getISelectableParent in interface ISelectable
Overrides:
getISelectableParent in class SysEscopo

wasRequestClose

public void wasRequestClose(ISelectable iSelectable)
Description copied from interface: ISelectable
Este método é chamado pelo SelectionManeger para avisar que algum objeto ISelectable está sendo fechado mas para isso precisa que seus objetos filhos também sejam fechados. Este método só deve ser chamado após a verificação da possibilidade de fechamento pelo método canClose().

Specified by:
wasRequestClose in interface ISelectable
Overrides:
wasRequestClose in class SysEscopo
Parameters:
iSelectable - objeto que solicitou o fechamento.

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class SysEscopo
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class SysEscopo
Throws:
java.io.IOException
java.lang.ClassNotFoundException